package com.yanmaohu.yulia.bean;

/**
 * @author Bright Lee
 */
public final class CycleClause {

    private int beginIndex;
    private int endIndex;
    private IdentifierList cycleColumnList;
    private Identifier cycleMarkColumn;
    private ValueExpression cycleMarkValue;
    private ValueExpression nonCycleMarkValue;
    private Identifier pathColumn;

    public CycleClause(int beginIndex,
                       IdentifierList cycleColumnList,
                       Identifier cycleMarkColumn,
                       ValueExpression cycleMarkValue,
                       ValueExpression nonCycleMarkValue,
                       Identifier pathColumn) {
        this.beginIndex = beginIndex;
        this.endIndex = pathColumn.getEndIndex();
        this.cycleColumnList = cycleColumnList;
        this.cycleMarkColumn = cycleMarkColumn;
        this.cycleMarkValue = cycleMarkValue;
        this.nonCycleMarkValue = nonCycleMarkValue;
        this.pathColumn = pathColumn;
    }

    public int getBeginIndex() {
        return beginIndex;
    }

    public int getEndIndex() {
        return endIndex;
    }

    public IdentifierList getCycleColumnList() {
        return cycleColumnList;
    }

    public Identifier getCycleMarkColumn() {
        return cycleMarkColumn;
    }

    public ValueExpression getCycleMarkValue() {
        return cycleMarkValue;
    }

    public ValueExpression getNonCycleMarkValue() {
        return nonCycleMarkValue;
    }

    public Identifier getPathColumn() {
        return pathColumn;
    }

}
